# 指定Qt模块
QT       += core gui widgets xml

# 对于Qt5及以上版本，需要添加printsupport模块以支持QMessageBox
greaterThan(QT_MAJOR_VERSION, 4): QT += printsupport

# 项目类型 - 应用程序
TARGET = QtSimpleFramework
TEMPLATE = app

# 设置C++标准
CONFIG += c++11

# 源文件配置
SOURCES += \
    $$PWD/src/main.cpp \
    $$PWD/src/mainwindow.cpp \

# 头文件配置
HEADERS += \
    $$PWD/src/mainwindow.h \

    
# 添加头文件搜索路径
INCLUDEPATH += $$PWD/src



# 资源文件（如果有图标等资源）
RESOURCES += \
    resources.qrc

# 配置选项
# 启用调试信息
CONFIG += debug

# 生成的可执行文件输出目录
DESTDIR = $$PWD/bin

# 目标文件输出目录
OBJECTS_DIR = $$PWD/build/obj

# moc文件输出目录
MOC_DIR = $$PWD/build/moc

# UI文件输出目录（如果有.ui文件）
UI_DIR = $$PWD/build/ui

# RCC文件输出目录
RCC_DIR = $$PWD/build/rcc

# 定义安装路径（可选）
# unix {
#     target.path = /usr/local/bin
#     INSTALLS += target
# }

# 平台特定配置
win32 {
    # Windows平台下的额外配置
    RC_ICONS = app.ico  # 应用程序图标
    QMAKE_CXXFLAGS += -MP  # 多处理器编译
}

macx {
    # Mac平台下的额外配置
    ICON = app.icns  # Mac应用程序图标
    APP_BUNDLE = $$DESTDIR/$${TARGET}.app
}

# 禁用某些警告（可选）
# QMAKE_CXXFLAGS += -Wno-unused-parameter -Wno-reorder


# 设置UTF-8编码支持
win32-msvc* {
    QMAKE_CXXFLAGS += /utf-8
}
